package com.cyt.reward.dao;

import com.cyt.base.dao.BaseDao;
import com.cyt.reward.model.po.RewardRecord;
import com.cyt.reward.model.vo.RewardRecordVo;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 打赏功能-打赏记录Dao层接口类
 *
 * @author rong yuan
 * @date 2019-7-24 13:44:53
 */
@Repository
public interface RewardRecordDao extends BaseDao<RewardRecord> {

    /**
     * 根据条件查询
     *
     * @param rewardRecordVo 参数接受对象
     * @return List<RewardRecordVo>
     * @author rong yuan
     * @date 2019-7-24 13:44:53
     */
    List<RewardRecordVo> selectByCondition(RewardRecordVo rewardRecordVo);

    /**
     * 赏金统计
     *
     * @param rewardRecordVo 参数接受对象
     * @return double
     * @author rong yuan
     * @date 2019/7/26 08:13
     */
    double statisticsMoney(RewardRecordVo rewardRecordVo);

    /**
     * 用户统计
     *
     * @param rewardRecordVo 参数接受对象
     * @return int
     * @author rong yuan
     * @date 2019-8-19 11:37
     */
    int statisticsStaffNum(RewardRecordVo rewardRecordVo);

    /**
     * 好评统计
     *
     * @param rewardRecordVo 参数接受对象
     * @return int
     * @author rong yuan
     * @date 2019-8-19 11:38
     */
    double statisticsStarFive(RewardRecordVo rewardRecordVo);

    /**
     * 每日评价人数
     *
     * @param rewardRecordVo 参数接受对象
     * @return List<Map>
     * @author rong yuan
     * @date 2019-8-19 11:38
     */
    List<Map> statisticsStaffNumEveryDay(RewardRecordVo rewardRecordVo);

    /**
     * 每日收益信息
     *
     * @param rewardRecordVo 参数接受对象
     * @return List<Map>
     * @author rong yuan
     * @date 2019-8-19 11:38
     */
    List<Map> statisticsMoneyEveryDay(RewardRecordVo rewardRecordVo);

    /**
     * 员工佣金排名
     *
     * @param rewardRecordVo 参数接受对象
     * @return List<Map>
     * @author rong yuan
     * @date 2019-8-19 11:38
     */
    List<Map> statisticsStaffMoney(RewardRecordVo rewardRecordVo);
}